package com.zf.yichat.service;

import com.zf.yichat.model.SysDictData;
import com.zf.yichat.model.UserIntegralDetail;
import com.zf.yichat.utils.response.FsPage;
import com.zf.yichat.utils.response.FsResponse;
import com.zf.yichat.vo.IntegralType;

/**
 * 一句话描述功能
 *
 * @author fengsong
 * @date create in 14:05 2020/3/25 2020
 */
public interface UserIntegralService {

    FsResponse getIntegral(IntegralType type, Long userId, String referId);

    void updateDetail(IntegralType type, String referId, Integer score, Long userId);

    UserIntegralDetail selectLastByType(IntegralType type, Long userId);

    int countDayByType(IntegralType type, Long userId);

    FsResponse detailInfo(FsPage init, Long userId);

    FsResponse info(Long userId);

    SysDictData selectLevel(Integer integral);

    Integer countShare(Long userId);


    /**
     * 根据类型赠送积分
     * @param userId
     * @param type
     */
    void giveIntegralForType(Long userId, String type);
}
